//////////////////////////////////////////////////////////////////////////
#pragma once


//////////////////////////////////////////////////////////////////////////
// Setup for a Window's DLL if needed.
#if defined( _WINDOWS ) && defined( BUILDING_ROCKETLUA_DLL )
#	ifdef BUILDING_ROCKETLUA
#		define ROCKETLUA_EXPORT	__declspec( dllexport )
#	else
#		define ROCKETLUA_EXPORT	__declspec( dllimport )
#	endif
#else
#	define ROCKETLUA_EXPORT
#endif


//////////////////////////////////////////////////////////////////////////
// Generally required includes.
#include "Core/Core.hpp"
#include <Rocket/Core.h>
#include <Rocket/Core/Plugin.h>
#include <lua.hpp>
#include <LuaBridge/LuaBridge.h>

#include "Variant.hpp"
#include "Colorb.hpp"
#include "Colorf.hpp"
#include "Vector2i.hpp"
#include "Vector2f.hpp"
#include "LuaEvent.hpp"
#include "LuaElement.hpp"
#include "LuaDocument.hpp"
#include "LuaDocumentInstancer.hpp"
#include "LuaEventListener.hpp"
#include "LuaEventListenerInstancer.hpp"
#include "LuaContext.hpp"
#include "Plugin.hpp"


//////////////////////////////////////////////////////////////////////////
// NOTE: Yes, there is an existing Lua binding for libRocket but I'm
// breaking my "don't code unless required" rule as the existing binding
// doesn't do a couple things I desire.
//	Some code and items are lifted from: https://github.com/Gambini/libRocket
// to get started, it may or may not survive further.
// NOTE: Colour, sorry brits, I refuse to write it that way....  :)  I'll
//		make an alias if required.
